home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / quartz / quartz10.lha / src / runtime / Makefile < prev    next >
Makefile  |  1990-05-08  |  3KB  |  177 lines

  1. # These are user-customizable, but you have to re-compile the entire runtime library
  2. # PARAMS=-DThreadArgs=12 -DInitIdStackSize=50 -DInitOverflowSize=5000 -DACCURACY=float 
  3. PARAMS=
  4.  
  5. DEST= ../../../lib
  6. THREAD=thread.a
  7. THREAD_D=thread_d.a
  8. THREAD_P=thread_p.a
  9. THREAD_DP=thread_dp.a
  10. QLIB=qlib.a
  11. QLIB_D=qlib_d.a
  12.  
  13. COMMON=../../common
  14. GLOBAL=../../../include
  15.  
  16. INCLUDES=-I$(COMMON) -I$(GLOBAL) -I../
  17. BASEFLAGS=-c $(CFLAGS1) $(DEFINES) $(PARAMS) $(INCLUDES)
  18. ASMFLAGS = -I$(GLOBAL) $(DEFINES) $(PARAMS)
  19. CFLAGS = $(BASEFLAGS) $(PG)
  20.  
  21. HDRS=$(GLOBAL)/asm.h             \
  22.     $(GLOBAL)/asmdefs.h         \
  23.     internal.h                     \
  24.     profile.h                     \
  25.     $(GLOBAL)/quartzcommon.h     \
  26.     $(GLOBAL)/synch.h             \
  27.     $(GLOBAL)/thread.h             \
  28.     $(COMMON)/util.h
  29.  
  30. AF=crt0.s mcount.s
  31.  
  32. CF=processor.c     \
  33.     thread.c     \
  34.     synch.c     \
  35.     profile.c     \
  36.     dump.c         \
  37.     profsynch.c \
  38.     stack.c     \
  39.     util.c
  40.  
  41. QCF = $(CF) interf.c
  42.  
  43. OBJS=processor.o \
  44.     mcount.o     \
  45.     thread.o     \
  46.     synch.o     \
  47.     profile.o     \
  48.     dump.o         \
  49.     profsynch.o \
  50.     shmalloc.o     \
  51.     stack.o     \
  52.     util.o
  53.  
  54. QOBJS= interf.o \
  55.     processor.o    \
  56.     thread.o     \
  57.     synch.o     \
  58.     profile.o     \
  59.     dump.o         \
  60.     profsynch.o \
  61.     stack.o     \
  62.     util.o
  63.  
  64.  
  65. all: base base_debug profile profile_debug qlib qlib_debug
  66.  
  67. clean:
  68.     rm -f */*.o */*.a */*.ln
  69.  
  70. base:;
  71.     (cd Base; make _base "CFLAGS1=-i -O" "DEFINES=" "PG=")
  72.  
  73. _base:  $(THREAD) crt0.o llib
  74. $(THREAD):&  $(OBJS)
  75.     ar rv $(THREAD) $(OBJS)
  76.     ranlib $(THREAD)
  77.     cp $(THREAD) $(DEST)
  78.  
  79. crt0.o: crt0.s
  80.     as crt0.s -o crt0.o
  81.     cp crt0.o $(DEST)/
  82.  
  83. base_debug:;
  84.     (cd Base_debug; make _base_debug "CFLAGS1=-g" "DEFINES=-DDEBUG" "PG=")
  85.  
  86. _base_debug:  $(THREAD_D)
  87. $(THREAD_D):&  $(OBJS)
  88.     ar rv $(THREAD_D) $(OBJS)
  89.     ranlib $(THREAD_D)
  90.     cp $(THREAD_D) $(DEST)
  91.  
  92. profile:;
  93.     (cd Profile; make _profile "CFLAGS1=-i -O" "DEFINES=-DPROFILE" "PG=-pg")
  94.  
  95. _profile:  $(THREAD_P)
  96. $(THREAD_P):&  $(OBJS)
  97.     ar rv $(THREAD_P) $(OBJS)
  98.     ranlib $(THREAD_P)
  99.     cp $(THREAD_P) $(DEST)
  100.  
  101. profile_debug:;
  102.     (cd Profile_debug; make _profile_debug "CFLAGS1=-g" "DEFINES=-DDEBUG -DPROFILE -DPARANOID" "PG=-pg")
  103.  
  104. _profile_debug:  $(THREAD_DP)
  105. $(THREAD_DP):&  $(OBJS)
  106.     ar rv $(THREAD_DP) $(OBJS)
  107.     ranlib $(THREAD_DP)
  108.     cp $(THREAD_DP) $(DEST)
  109.  
  110. qlib:;
  111.     (cd Qlib; make _qlib "CFLAGS1=-i -O" "DEFINES=-DPROFILE -DPRESTO" "PG=-pg")
  112.  
  113. _qlib:  $(QLIB) mcount
  114. $(QLIB):&  $(QOBJS)
  115.     ar rv $(QLIB) $(QOBJS)
  116.     ranlib $(QLIB)
  117.     cp $(QLIB) $(DEST)
  118.  
  119. mcount: mcount.o
  120.     cp mcount.o $(DEST)
  121.  
  122. qlib_debug:;
  123.     (cd Qlib_debug; make _qlib_debug "CFLAGS1=-g" "DEFINES=-DPROFILE -DPRESTO -DDEBUG -DPARANOID" "PG=-pg")
  124.  
  125. _qlib_debug:  $(QLIB_D) mcount_d
  126. $(QLIB_D):&  $(QOBJS)
  127.     ar rv $(QLIB_D) $(QOBJS)
  128.     ranlib $(QLIB_D)
  129.     cp $(QLIB_D) $(DEST)
  130.  
  131. mcount_d: mcount.o
  132.     cp mcount.o $(DEST)/mcount_d.o
  133.  
  134.  
  135. # These can be compiled with -pg
  136.  
  137. shmalloc.o: shmalloc.c $(HDRS)
  138.     cc $(CFLAGS) shmalloc.c
  139.  
  140. stack.o: stack.c $(HDRS)
  141.     cc $(CFLAGS) stack.c
  142.  
  143. util.o: util.c $(HDRS)
  144.     cc $(CFLAGS) util.c
  145.  
  146. # These must be compiled without -pg
  147. interf.o: interf.c $(HDRS)
  148.     cc $(BASEFLAGS) interf.c
  149.  
  150. profile.o: profile.c $(HDRS)
  151.     cc $(BASEFLAGS) profile.c
  152.  
  153. dump.o: dump.c $(HDRS)
  154.     cc $(BASEFLAGS) dump.c
  155.  
  156. thread.o: thread.c $(HDRS)
  157.     cc $(BASEFLAGS) thread.c
  158.  
  159. synch.o: synch.c $(HDRS)
  160.     cc $(BASEFLAGS) synch.c
  161.  
  162. profsynch.o: profsynch.c $(HDRS)
  163.     cc $(BASEFLAGS) profsynch.c
  164.  
  165. processor.o: processor.c $(HDRS)
  166.     cc $(BASEFLAGS) processor.c
  167.  
  168. mcount.o: mcount.s $(GLOBAL)/asmdefs.h
  169.     /lib/cpp -C -P $(ASMFLAGS) mcount.s | as -o mcount.o
  170.  
  171. lint: $(HDRS)
  172.     lint -hbu $(DEFINES) $(PARAMS) $(INCLUDES) -DLINT $(CF)
  173.  
  174. llib:
  175.     lint -Cthread $(INCLUDES) $(PARAMS) $(DEFINES) -DLINT $(CF)
  176.     cp llib-lthread.ln ../../../lib
  177.